<?php
class DocumentoCompra extends AppModel {

	var $name = 'DocumentoCompra';
	var $actAs = array('transaction');
	var $validate = array(
		'numero_documento'=>array(
			'regla1'=>array(
				'rule'=>'notEmpty',
				'message'=>'Digite el numero de documento'
			),
			'regla2'=>array(
				'rule'=>array('maxLength', '15'),
				'message'=>'Debe ingresar solo 15 digitos'
			)

		),
		'ruc_proveedor'=>array(
			'regla1'=>array('rule'=>'notEmpty',
				'message'=>'Digite el numero de documento')
		),
		'codigo_documento_id'=>array(
			'rule'=>'notEmpty',
			'message'=>'campo requerido'
		),
		'proveedor_id'=>array(
			'rule'=>'notEmpty',
			'message'=>'campo requerido'
		),
	);

	var $belongsTo = array(
		'CodigoDocumento' => array(
			'className' => 'CodigoDocumento',
			'foreignKey' => 'codigo_documento_id',
		),
		'CodigoDocumentoRef' => array(
			'className' => 'CodigoDocumento',
			'foreignKey' => 'codigo_documento_ref_id',
		),
		'Proveedore' => array(
			'className' => 'Proveedore',
			'foreignKey' => 'proveedor_id',
		),
		'Moneda' => array(
			'className' => 'Moneda',
			'foreignKey' => 'moneda_id',
		),		
		'Actividade'=>array(
			'className' => 'Actividade',
			'foreignKey' => 'actividad_id',
		),		
		'CentroDist'=>array(
			'className' => 'CentroDist',
			'foreignKey' => 'centro_dist_id',
		)
	);

	var $hasMany = array(
		'DocumentoCompraDetalle' => array(
			'className' => 'DocumentoCompraDetalle',
			'foreignKey' => 'documento_compra_id',
			'conditions' => '',
			'fields' => '',
			'order' => ''
		)
	);

	public function generateControl($centroDist, $codigoDocumento=0){
            $sql = 'select max(dc.numero_control) as "DocumentoCompra__numero_documento" from logistica.documento_compras dc where dc.numero_control ilike \''.$centroDist.'%\'';
            //$sql = "SELECT nextval('orden_compras_id_seq');";
            if($codigoDocumento == '160'){
                    $sql .= ' and dc.codigo_documento_id = 160';
            } else {
                    $sql .= ' and dc.codigo_documento_id <> 160';
            }

            $numero = $this->query($sql);
            $numero = $numero[0]['DocumentoCompra']['numero_documento'];
            $numero = empty($numero)?$centroDist.'00001':($numero+1);
            return $numero;
	}
}
?>